package rpg.desafio;

import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.util.Locale;
import javax.swing.*;

/**
 *
 * @author Brüning
 * @version 1.0
 * @since 27/02/13
 */
public class InterfaceDesafio extends JFrame{
    /**
     * Componentes utilizados para fazer a interface da batalha
     */
    private JPanel desafio;
    private JPanel buttons;
    private JLabel imagem;
    private JButton atacar;
    private JButton fugir;
  
    /**
     * Método construtor que inicializa os componentes e organiza eles para ser apresentado ao usuário
     */
    public InterfaceDesafio(){
        super("Desafio");
        Container a = this.getContentPane();
        desafio = new JPanel();
        desafio.setLayout(new FlowLayout());
        
        Icon luta = new ImageIcon(getClass().getResource("/img/batalha.png"));
        imagem = new JLabel(luta, SwingConstants.LEFT);
        desafio.add(imagem);  
        
        // JPanel para colocar os JButtons e organizalos
        buttons = new JPanel();
        buttons.setLayout(new GridLayout(1, 2));
        
        //Criação dos JButtons
        EventosButtonAtacar buttonatacar = new EventosButtonAtacar();
        atacar = new JButton("Atacar");
        atacar.setToolTipText("Botão para atacar o inimigo...");
        atacar.addActionListener(buttonatacar);
        buttons.add(atacar);
    
        EventosButtonFugir buttonfugir = new EventosButtonFugir(); 
        fugir = new JButton("Fugir");
        fugir.setToolTipText("Botão para fugir do inimigo...");
        fugir.addActionListener(buttonfugir);
        buttons.add(fugir);
        
        a.add(desafio);
        a.add(BorderLayout.SOUTH,buttons); 
        
    }
    // Classe privada para o tratamento dos enventos do JButton atacar 
    private class EventosButtonAtacar implements ActionListener{
        /**
         * Método para quando o usuário clicar no JButton atacar, fazendo um troca da imagem do JPanel 
         * e mostrando uma mensagem ao usuário e voltando para a imagem inicial...
         * @param e, do tipo ActionEvent  
         */

        @Override
        public void actionPerformed(ActionEvent e) {
            Icon lutaataque = new ImageIcon(getClass().getResource("/img/batalhaATAQUE.png"));
            imagem.setIcon(lutaataque);
            JOptionPane.showMessageDialog(null, "Fodão","Alerta à Usuário",JOptionPane.INFORMATION_MESSAGE);
            imagem.setIcon(new ImageIcon(getClass().getResource("/img/batalha.png")));
        }
    }
    
    //Classe privada para o tratamento dos eventos do JButton fugir
    private class EventosButtonFugir implements ActionListener{

        @Override
        /**
         * Método para quando o usuário clicar no JButton fugir, fazendo um troca da imagem do JPanel 
         * e mostrando uma mensagem ao usuário
         * @param e, do tipo ActionEvent  
         */
        
        public void actionPerformed(ActionEvent e) {
            Icon lutafugir = new ImageIcon(getClass().getResource("/img/batalhaFUGIU.png"));
            imagem.setIcon(lutafugir);
            JOptionPane.showMessageDialog(null, "Cagão","Alerta à Usuário",JOptionPane.INFORMATION_MESSAGE);
            System.exit(0);        
        }
    }
    
    public static void main(String[] args) {
        InterfaceDesafio a = new InterfaceDesafio();
        a.setDefaultCloseOperation(a.EXIT_ON_CLOSE);
        a.setSize(900, 600);
        a.setVisible(true);

    }

    
}
